% !TEX program = latexmk
% !TEX options = -xelatex -synctex=1 -interaction=nonstopmode -file-line-error "%DOC%"
\documentclass[]{nsfc}
\usepackage{hyperref}
\usepackage{tikz}
\usepackage{xeCJKfntef}
\title{报告正文}
\begin{document}
\maketitle
\chapter{立项依据与研究内容}{（建议 8000 字以内）：}\nsfclabel{basis}
\section{项目的立项依据}{（研究意义、国内外研究现状及发展动态分析，需结合科学研究发展趋势来论述科学意义；或结合国民经济和社会发展中迫切需要解决的关键科技问题来论述其应用前景。附主要参考文献目录）；}
\subsection{研究意义}
自然科学基金委的平台目前只提供Word模板，会带来一些非常不便的问题，例如：

\begin{enumerate}
    \item 协同编辑比较困难，无法利用Git、ShareLatex等相关工具。
    \item 格式比较难以控制，经常需要手动调整。
    \item 已有的\LaTeX{}公式和Tikz图片难以迁移。
    \item 插入代码、算法也十分困难。
\end{enumerate}
\subsection{国内外研究现状}\nsfclabel{state-of-the-art}
\LaTeX{}是一个非常成功的排版软件，其采用所想即所得的方式来进行设计，输入代码，输出文档，非常编程狂魔的使用习惯。虽然近期兴起了Markdown、restructuredText等排版工具，但是在大型文档写作中，\LaTeX{}仍然有不可取代的地位。\textbf{本项目将基于\LaTeX，提供一个高仿的NSFC申请书正文模板}。

国内已经有了几个\LaTeX{}的NSFC申请书模板，我这里也想写一个。

\section{项目的研究内容、研究目标，以及拟解决的关键科学问题}{（此部分为重点阐述内容）；}

综上所述，本项目的研究内容主要是如何能把NSFC的模板仿制得比较像。其中主要包括：
\begin{itemize}
    \item 字体的一致性
    \item 行距的一致性
    \item 如何使模板可以快速迭代，适应层出不穷但变化不大的新模板，还有我没见过的各种大牛才能申请的项目模板。
\end{itemize}

\section{拟采取的研究方案及可行性分析}{（包括研究方法、技术路线、实验手段、关键技术等说明）；}\nsfclabel{plan}
\subsection{技术路线}
\subsubsection{重新定义章节计数和引用}\nsfclabel{chap-and-sec}
为了降低我的心智负担，我最后放弃了将模板整理的与\LaTeX{}的\verb|article|模板比较同构，而是简单暴力直接地重定义了 \verb|chapter| 、 \verb|section| 、 \verb|subsection| 和 \verb|subsubsection| 宏以及相关的计数器。主要是一级和二级标题中都有加粗和不加粗的两种字体，所以chapter和section重新定义为了：

\verb|\chapter{加粗的内容}{后面正常字体的内容}|

\verb|\section{加粗的内容}{后面正常字体的内容}|

对于subsection和subsubsection我不认为值得这样做，所以用法与以前类似。

同时，由于chapter一级采用（一）的格式，而section采用了小写数字，“第（一）、1节”或者“第（一）.1节”这样的格式非常丑，我基于用zref包重新定义了章节label的宏，主要变动包括：
\begin{itemize}
    \item \verb|\label|替换为\verb|\nsfclabel|。
    \item 引用处可以分别使用\verb|\chapref{标签}|引用章号而\verb|\secref{标签}|引用节号。
\end{itemize}

例如：

\verb|我们目前在第\chapref{chap-and-sec}章的第\secref{chap-and-sec}节。|

将产生：

我们目前在第\chapref{chap-and-sec}章的第\secref{chap-and-sec}节。

为了避免在\verb|\chapref|时点章号跳到节激怒评委，所以 \verb|\chaplinkref| 才能产生可以点击的章号\chaplinkref{chap-and-sec}（但还是跳到节，除非在章后定义）。

\subsubsection{字体}

\CJKsout{cls中使用了Windows系统的仿宋和楷体，Linux系统和Mac系统的用户可以去\texttt{c:\textbackslash windows\textbackslash fonts}下将simsun和simkai安装到当前系统就好了。这样可以比较好的与原模板的字体保持一致。}

\CJKsout{如果要在没有这些字体的系统（例如overleaf）上使用，可以在documentclass中加入fallbackfandol, 例如：}

\CJKsout{\texttt{\textbackslash documentclass[fallbackfandol]\{nsfc\}}}

更新后的模板能够与\CTeX 保持字体的一致，即在默认情况下，Windows使用SimSun和KaiTi，Linux下使用文鼎或者Fandol，MacOS下咱也不知道。模板的楷体和宋体部分就直接使用与\CTeX 一致的字体。如果\CTeX 包没有成功设置默认字体，那么模板可能就不太能正常使用了，一个可行的方案是在 \verb|documentclass| 里显式指定\verb|fontset|，例如：
\begin{center}
    \verb|\documentclass[fontset=fandol]{nsfc}|
\end{center}

\verb|fontset|可以参考\CTeX 手册进行指定，主要包括\verb|adobe|, \verb|fandol|, \verb|founder|, \verb|mac|, \verb|macnew|, \verb|macold|, \verb|ubuntu|, \verb|windows|等。一般来说\CTeX 能够帮你解决字体的问题。另外比如强迫症发作希望在Linux/Mac下编译出与Windows相同的格式，则可以将正版Windows的字体安装在Linux/Mac下，并指定\verb|fontset=windows|。
\subsubsection{使用subcaption构造子图}
为了让我的最认真的导师不说\verb|\ref|和caption里面的格式不一样，搞了半天配了一下subcaption。例如图\ref{cap}中的第二张子图的引用：图\ref{b}。
\begin{figure}
    \centering
    \begin{subfigure}[b]{0.3\linewidth}
        \centering
        \begin{tikzpicture}
            \draw(0,0) rectangle ++(3cm,2cm) node[pos=0.5]{假设这是一张图};
        \end{tikzpicture}
        \subcaption{第一张图}
    \end{subfigure}
    \begin{subfigure}[b]{0.3\linewidth}
        \centering
        \begin{tikzpicture}
            \draw(0,0) rectangle ++(3cm,2cm) node[pos=0.5]{假设这是一张图};
        \end{tikzpicture}
        \subcaption{第二张图}\label{b}
    \end{subfigure}
    \begin{subfigure}[b]{0.3\linewidth}
        \centering
        \begin{tikzpicture}
            \draw(0,0) rectangle ++(3cm,2cm) node[pos=0.5]{假设这是一张图};
        \end{tikzpicture}
        \subcaption{第三张图}
    \end{subfigure}
    \caption{用subcaption构造的子图}\label{cap}
\end{figure}

\subsubsection{使用GBT7714-2015标准的bst文件}
翻了很多流传的GBT7714的bst文件，很多都是2005的标准而且缺乏维护，这是找到的一个维护比较积极，issue有人回答的GBT7714-2015的bst文件，来自\CTeX-org\cite{gbt7714-bst}。东西应该都设置好了，只要在需要的地方\verb|\bibliography{ref.bib}|就好了。
\bibliography{ref.bib}
% \nextsec
% \nextsec
% \nsfclabel{sec}
% \subsec{研究意义}
% \nsfclabel{subsec}
% \subsubsec{研究意义的意义}
% \nsfclabel{subsubsec}
% a\chapref{sec}\secref{sec} \chapref{subsec}\secref{subsec} \chapref{subsubsec}\secref{subsubsec}
% \begin{figure}
%     \begin{tikzpicture}
%         \node{aaa};
%     \end{tikzpicture}
%     \caption{图表}\label{b}
% \end{figure}
% \ref{b}
\subsection{可行性分析}
看到这里如果你觉得格式跟NSFC模板差不多，那就当做可行了吧。我反正也懒得把这个文档接着写下去了。


\end{document}